1. Field of the Invention
The present invention relates generally to methods and systems for testing computer systems, and in particular, to software based test tools designed to test data and signal integrity under heavy data load conditions.
2. Description of the Related Art
Manufacturers of computer systems or computer system devices commonly use software-based analysis tools to measure performance of their products. These analysis tools typically measure performance in terms of data throughput, or bandwidth, of the system or device. For example, a bandwidth measurement may be taken by reading or writing data to a hard drive while timing the read or write operations (collectively referred to as I/O operations). The slowest component along the data path determines the bandwidth. For example, a fast disk drive may be hampered by a bus with a low bandwidth, a fast network server may be hampered by a low bandwidth network connection, etc. Therefore, manufacturers spend a great amount of effort designing devices and components for maximum bandwidth.
Also of importance to manufacturers, however, is data integrity. In most cases, high bandwidth is irrelevant if data arrives incorrectly. Just as the slowest device in the data path may cause a loss of bandwidth, a single device along the data path that corrupts data may cause a loss of data integrity. Further, a single component within the device may cause the data corruption. For example, a buffer in a switch or router or a software driver for a network interface card may be a source of data corruption.
Data corruptions are more likely to happen when devices in a data path are subjected to a heavy data load caused by I/O operations at or near a maximum bandwidth of the devices. A heavy data load places I/O stress on system devices (and components within the devices) that must respond faster than under normal operating conditions. Conventional analysis tools may place a heavy data load on devices in a system under test while performing rapid I/O operations to measure system bandwidth. However, while measuring system bandwidth, conventional performance analysis tools do not verify data integrity.
Accordingly, there is a need for analysis tools capable of verifying data integrity under heavy load conditions.